package com.lap.framework.tools;

import lombok.experimental.UtilityClass;

import java.math.BigDecimal;
import java.math.RoundingMode;

/**
 * 金额转换
 *
 * @author Shuisheng Lao(劳水生)
 * @version 0.0.1
 */
@UtilityClass
public class MoneyStrategy {
  private static final BigDecimal HUNDRED = new BigDecimal(100);

  /**
   * 分转换成元，除以100
   *
   * @param value 输入值
   * @return 元
   */
  public static Double fenToYuan(Integer value) {
    if (value == null) return BigDecimal.ZERO.doubleValue();
    return new BigDecimal(value).divide(HUNDRED, 2, RoundingMode.HALF_UP).doubleValue();
  }

  /**
   * 元转换成分，乘以100
   *
   * @param value 输入值
   * @return 分
   */
  public static Integer yuanToFen(Double value) {
    if (value == null) return 0;
    return BigDecimal.valueOf(value).multiply(HUNDRED).setScale(0, RoundingMode.HALF_UP).intValue();
  }
}
